// pages/Seckill/Seckill.js
const TOP_DISTANCE = 1000
Page({

  /**
   * 页面的初始数据
   */
  data: {
    Rotation:[],//轮播图
    HeadTime:[],//时间段
    DateTime:'',//当前时间
    Shoplist:[],//该时间段商品信息
    marqueeList: [ ],//荣耀版数据
    animate: false,
    cid:'',//秒杀id
    h:'',//小时
    m:'',//分钟
    s:'',//秒
    interval:'',
    indicatorDots: false,//轮播图小点
    page: 1, //当前页码
    pages: 0, //总页数
    cars: [],//商品信息
    showBackTop: false,
    isTopFiexd: false,
    isBottom: false,
    tabScrollTop: 0,
    page: 0,//页码
    num: 0,//总页数
    userName: '',//搜索框值
    Mcommodity:[],//秒杀商品
    Login:'',//判断是否登录
  },

  //获取搜索框输入的内容
  userNameInput:function(e)
{
  this.setData({
  userName: e.detail.value
  })
},
 //点击搜索按钮
  Search(){
    wx.redirectTo({
      url: '../productSearchMob/productSearchMob?key='+this.data.userName
    }) 
  },

  //跳转登录
  // 点击登录跳转登录页面
Login:function(){
  if(this.data.Login == '退出'){
    wx.removeStorage({
      key: 'token',
      success (res) {
        //console.log(res)
      }
    })
  }
    wx.redirectTo({
      url: '../Login/Login'
    })
  
},

  //轮播图 跳转 详情页
 Commodity:function(event){
    //获取参数
    let id = event.currentTarget.dataset.id;
   // console.log(id)
    //跳转携带参数
    wx.redirectTo({
      url: '../goods/goods?mid='+id
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
       var that =this;
       //判断是否登录
   wx.getStorage({
    key: 'token',
    success(res) {
      that.setData({
        Login:'退出'
      });
    },
    fail: function () {
      that.setData({
        Login:'登录'
      });
    }
  });
       //荣耀滚动
       setInterval(this.showMarquee, 1000);
        //获取下单用户信息 荣耀板渲染　
         wx.request({
            url: 'http://47.104.142.216/TP/public/index.php/index/Kill/Getglory',
            dataType:'json',
            method:'POST',
            header:{
              'content-type':'application/x-www-form-urlencoded'
            },
            success:function(res){
              
                that.setData({
                  marqueeList:res.data
                });
                //console.log(res.data);
            }
          });

      
    //网络请求 获取轮播图商品信息　　
    
    wx.request({
      url: 'http://47.104.142.216/TP/public/index.php/index/Home/shopBox',
      dataType:'json',
      method:'POST',
      header:{
        'content-type':'application/x-www-form-urlencoded'
      },
      success:function(res){
        
          that.setData({
            Rotation:res.data
          });
          // 设置随机 轮播图广告位
          //原数组
          var arr = that.data.Rotation
          //输出数组
          var out = [];
          //输出个数
          var num = 4;
          while(out.length < num){
              var temp = (Math.random()*arr.length) >> 0;
              out.push(arr.splice(temp,1));
              
          };
          //console.log(out);
          that.setData({
            Mcommodity:out
          });
         // console.log(that.data.Mcommodity)

      }
    });

      //1.获取时间段数据，2. 进行判断渲染当前时间段商品
      wx.request({
        url: 'http://47.104.142.216/TP/public/index.php/index/Kill/DataTime',
        dataType:'json',
        method:'POST',
        header:{
          'content-type':'application/x-www-form-urlencoded'
        },
        success:function (res){
          var d=new Date();
          
          that.setData({
            HeadTime:res.data,
            DateTime:d.getHours(),
          })
          //console.log(that.data.DateTime)
          that.getShop();
        }
      });
      
  },

  //判断当前时间段 1.进行渲染该时间段活动商品和该场结束时间倒计时，活动还未开始就渲染即将开抢商品和下场开始时间倒计时
getShop:function(){
 
  //循环时间段 获取出该时间段id
    
  for(var a of this.data.HeadTime){
    if(this.data.DateTime >= parseInt(a.kill_start_time) && this.data.DateTime < parseInt(a.kill_stop_time)){
          let id =a.kill_id;
          this.setData({
            cid :id
            
          })
          
          let stop_time =a.kill_stop_time;//下场开始时间
         
         this.timeFun(stop_time);//调用结束时间
         //console.log(stop_time);

         
    }else{
       //当时间段id为空时候 活动还未开始 ，否则就获取即将开始的时间段
       if(this.data.cid == ''){
          if(this.data.DateTime < parseInt(a.kill_start_time)){
            this.setData({
              cid :a.kill_id
            })
          let start_time = a.kill_start_time;//结束时间
            //console.log(start_time);
            this.timeFun(start_time);//调用开始时间

          }
       }

      
    }

  }
     
      //console.log(this.data.cid);
      this.getShoping(this.data.cid);//调用该时间段id或下个时间段id
},
    //点击时间段判断结束时间或下场开始时间
    get(event){
      this.setData({
        interval:'',
      })
       var id =event.currentTarget.dataset.id;
       var time =event.currentTarget.dataset.time;
       //console.log(time);
        //点击获取 点击时间段的开始时间  传参数  
       this.timeFun(time);//调用结束时间
       this.getShoping(id)//传id查该时间商品
    },
//通过时间段id 获取当前时间段的商品信息
getShoping(id){
  var that =this;
  const page = that.data.page + 1;
  let cid = id
  that.setData({
    page: page,
  });
  const data = {
    page: page,
    cid:cid
  };
  //网络请求  获取该时间段的所有上架商品
  wx.request({
    url: 'http://47.104.142.216/TP/public/index.php/index/Kill/Wx_DataShop',
    data:data,
    dataType:'json',
    method:'POST',
    header:{
      'content-type':'application/x-www-form-urlencoded'
    },
    success:function(res){
      const ComdData = res.data.data;
      that.setData({
        Shoplist:ComdData,
        num: res.data.num
        
      })
      //console.log(res.data)
    
    }
  })

},
//倒计时
timeFun(timeStamp) {

  var interval = this.data.interval;
  clearInterval(interval);

  let jieshu =timeStamp;
  //console.log(jieshu);
  if(jieshu ==''){
    this.setData({
      h:'00',
      m:'00',
      s:'00',
    })
  }
 //console.log(jieshu);
 //获取当前时间 跟场次结束时间进行拼接
  var date = new Date();
  let y = date.getFullYear();//获取当前年
  let m = date.getMonth() + 1; //获取当份
  m = m < 10 ? ('0' + m) : m;
  let d = date.getDate();//获取当前几号
  d = d < 10 ? ('0' + d) : d;
  let h = date.getHours();  //获取当前小时
  h=jieshu< 10 ? ('0' + jieshu) : jieshu;
  let minute = date.getMinutes(); //获取当前几分
  minute = minute < 10 ? ('0' + '0') : '0';
  let second=date.getSeconds();//获取当前几秒
  second=second < 10 ? ('0' + '0') : '0';
  //进行拼接
  let time= y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
  //倒计时结束时间  
  var to=new Date(time);
 // console.log(to);

 interval = setInterval(() =>{
    //当前的时间
    let  now=new Date();
    //console.log(now);
    //剩余时间
    let shengTime= to-now;
    //算出几时几分几秒
    let h =Math.floor((shengTime /1000/3600)%24);
    let m =Math.floor((shengTime /1000/60)%60);
    let s =Math.floor(shengTime /1000%60);

    if (shengTime >0) {

        this.setData({
          h :(h < 10 ? "0" + h : h),
          m :(m < 10 ? "0" + m : m),
          s :(s < 10 ? "0" + s : s),    
      })
        
    }else{
              //停止计时器
              clearInterval(interval);
              wx.redirectTo({
                url: '../Seckill/Seckill'
              })
              
    }
    //let jishi=""+ (h < 10 ? "0"+ h : h) + (m < 10 ? "0"+ m : m) + (s < 10 ? "0" + s : s);
     //console.log(jishi);

  },1000) 
},

      //荣耀板滚动
showMarquee:function() {
        this.data.animate = true;
  
        setTimeout(() => {
          this.data.marqueeList.push(this.data.marqueeList[0]);
  
          this.data.marqueeList.shift();
  
          this.data.animate = false;
        }, 500);
},

  // 官方：不要再滚动事件里频繁调用 this.setData
onPageScroll(options){
  // 取出scrollTop
  const scrollTop = options.scrollTop;
  const flag = scrollTop >= TOP_DISTANCE;
  if(flag != this.data.showBackTop){
    this.setData({
      showBackTop: flag
    })
  }
  // 导航
  const flag1 = scrollTop >= this.data.tabScrollTop
  if(flag1 != this.data.isTopFiexd){
    this.setData({
      isTopFiexd: flag1
    })
  }
},
imageload(){
  wx.createSelectorQuery().select('#tab-control').boundingClientRect(rect => {
    this.data.tabScrollTop = rect.top
  }).exec()
},
handleBackTop(){
  wx.pageScrollTo({
    scrollTop: 0,
  })
},
  /**
   * 页面上拉触底事件的处理函数
   */
onReachBottom() {
  // 上拉加载更多
  if(this.data.page>this.data.num){
    this.setData({
      isBottom: true
    })
    return
  }
  this.getShoping(this.data.cid);//调用方法
},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
     let that = this;
     if(that.data.h == 0 || that.data.m == 0 || that.data.s == 0){
            that.getShop();
     }
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})